import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class PatientTest
{
    private Patient p;
    private Patient patient2;
    private Patient patient3;
    private Chambre chambre1;
    private Chambre chambre2;
    
    public PatientTest()
    {
    }
    
    @Before
    public void setUp()
    {
        p = new Patient();
        p.setPatientId("100001");
        p.setPoids(64);
        p.setTaille(1.70);
       
        patient2 = new Patient();
        patient2.setPatientId("100002");
        
        patient3 = new Patient();
        patient3.setPatientId("100003");
        
        chambre1 = new Chambre();
        chambre2 = new Chambre();
    }

    @After
    public void tearDown()
    {
    }

    @Test
    public void testPatient()
    {
        Patient patient2 = new Patient();
        patient2.setPoids(64);
        patient2.setTaille(1.70);
        assertEquals(22.1, patient2.calculIMC(), 0.1);
    }

    @Test
    public void testSetChambre()
    {
    	chambre1.setCapacite(2);
    	chambre2.setCapacite(1);
    	 
        p.setChambre(chambre1);
        patient2.setChambre(chambre1);
        patient3.setChambre(chambre1);
        assertEquals(chambre1,p.getChambre());
        assertEquals(chambre1,patient2.getChambre());
        assertEquals(null,patient3.getChambre());
        assertEquals(p,chambre1.getPatient(p.getPatientId()));
        assertEquals(patient2,chambre1.getPatient(patient2.getPatientId()));
        assertEquals(null,chambre1.getPatient(patient3.getPatientId()));
        
        testChangerChambre();
    }

	private void testChangerChambre() {
		p.setChambre(chambre2);
        assertEquals(chambre2,p.getChambre());
        assertEquals(null,chambre1.getPatient(p.getPatientId()));
	}
}



